package com.epam.facebook_client.processor;

import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.net.Uri;

import common.parser.IParser;
import common.processor.IProcessor;
import common.wrapper.JSONObjectWrapper;

public abstract class AbstractProcessor implements IProcessor {

	protected Context context;
	protected Uri uri;

	public AbstractProcessor(Context context) {
		this.setContext(context);
	}

	public Context getContext() {
		return context;
	}

	public void setContext(Context context) {
		this.context = context;
	}

	protected void writeInDB(String url, IParser parser) throws Exception {
		List<JSONObjectWrapper> result = parser.parseArray(url);
		
		ContentValues[] values = new ContentValues[result.size()];
		
		for (int i = 0; i < result.size(); i++) {
			ContentValues value = new ContentValues();
			value.put("data", result.get(i).toString());
			values[i] = value;
		}
		
		getContext().getContentResolver().bulkInsert(getUri(), values);
	}
	
	protected abstract Uri getUri();
}
